package top.zywork.dao;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * RoleSysMenuDAO数据访问接口<br/>
 *
 * 创建于2019-09-25<br/>
 *
 * @author http://zywork.top 危锦辉
 * @version 1.0
 */
@Mapper
public interface RoleSysMenuDAO extends BaseDAO {

    @Override
    List<Object> listAllByCondition(@Param("query") Object queryObj);

    @Override
    List<Object> listPageByCondition(@Param("query") Object queryObj);

    @Override
    Long countByCondition(@Param("query") Object queryObj);

    /**
     * 根据用户角色查询用户所拥有的所有菜单
     * @param roleIdArr 用户角色编号数组
     * @return
     */
    List<Object> listAllByRoleIdArr(@Param("roleIdArr") Long[] roleIdArr);

    /**
     * 查询所有菜单，用于导出
     * @return
     */
    List<Object> listAllExport();

    /**
     * 根据角色编号删除角色菜单
     * @param roleId
     * @return
     */
    int removeByRoleId(@Param("roleId") Long roleId);

    /**
     * 移除所有角色菜单
     * @return
     */
    int removeAll();
}
